1. Field of the Invention
The present invention relates to a spread spectrum communication system and, more particularly, to a data transmitter and receiver for puncturing actual data, inserting secondary data in the location of the punctured data, and recovering the punctured data.
2. Description of the Related Art
In a spread spectrum communication system, a transmitter channel-encodes actual data and then punctures the encoded data prior to data transmission. A receiver allocates a predetermined value to the punctured locations and relies on the error correction capability of a channel decoder. By simply puncturing the actual data or inserting secondary data, such as power control information needed in the receiver, in the punctured location, a desired symbol rate can be obtained in the spread spectrum communication system.
The above-described punctured coding is a procedure in which the transmitter punctures data within an error correction range relying on the error correction capability of a channel decoder. The receiver inserts predetermined values in place of the punctured data, causes the channel decoder to correct errors, and thus recovers the encoded data to its original form. Therefore, a system employing such a punctured coding scheme has a lower accuracy in data recovery than a system which recovers unpunctured signals. A punctured code is used to obtain a desired symbol rate after channel encoding or transmit data at the same symbol rate by puncturing actual data and inserting secondary data in the punctured locations. Here, both the transmitter and receiver should know the location of punctured transmit and receive data.
FIG. 1 is a block diagram of a transmitter for a conventional spread spectrum communication system, in which a code is punctured prior to transmission. A channel encoder 111 encodes input actual data TXD1, and a symbol repeater 113 repeats the encoded data received from the channel encoder 111 at a predetermined repetition rate. A code puncturer 115 receives the repeated symbols from the symbol repeater 113, via a first input port, and a code TXD2 to be erasure-inserted via a second input port. TXD2 may be control data transmitted from a transmitter to a receiver.
The puncturer 115 selectively outputs the symbols received from the symbol repeater 113, via the first input port, and the code TXD2, received via the second input port, at a predetermined cycle.
Assume that the puncturer 115 is switched to puncture one of every four bits of the data TXD1, represented as D1, D2, D3, . . . , and insert the data TXD2, represented as d1, d2, . . . , in the locations of punctured data. Then, the channel encoder 111 encodes D1, D2, D3, . . . , whereby the encoded data TXD1 is represented as A1, A2, A3, A4, . . . . With two-bit repetition, the symbol repeater 113 outputs A11, A12, A21, A22, A31, A32, A41, A42, . . . . Then, the puncturer 115 punctures the repeated symbols and inserts the data TXD2 in the punctured symbol locations, resulting in A11, A12, A21, d1, A31, A32, A41, d2, . . . . Here, Ai1 and Ai2 are obtained by repeating the same symbol, and thus Ai1=Ai2.
An interleaver 117 interleaves the data received from the puncturer 115 in a predetermined method, and a spreader 119 spreads the interleaved data. A modulator 121 modulates the spread data in a predetermined method to produce data TDATA. The modulated data is converted to a radio signal before being transmitted.
In a receiver shown in FIG. 2, a demodulator 211 demodulates input data RDATA, a despreader 213 despreads the demodulated data, and a deinterleaver 215 deinterleaves the despread data.
The data output from the deinterleaver 215 is represented as a11, a12, a21, .delta.1, a31, a32, a41, .delta.2, . . . . Here, a and .delta. are data A and d transmitted from the transmitter and may be changed during transmission on a channel. A recoverer 217 includes switches 251 and 252. The switch 251 selects data a in the same manner as that of the puncturer 115 and outputs the data a to a channel decoder 219, and selects data .delta. and outputs the data .delta. to a detector 221. That is, the switch 251 outputs a11, a12, and a21 to the channel decoder 219, and then switches to output data .delta.1 to the detector 221. Then, it switches again to output a31, a32, and a41 to the channel decoder 219 and then switches to output .delta.2 to the detector 221. While the data 6 is output from the recoverer 217, the channel decoder 219 receives no data. To prevent this, the switch 252 is switched to output data x at the moment when the data .delta. is output. Data x is fixed as logic value "0" or "1". Therefore, data input to the channel decoder 219 is represented as a11, a12, a21, x, a31, a32, a41, x,
Then, the channel decoder 219 decodes the data received from the recoverer 217 to produce data RXD1, and the detector 221 detects the erasure-inserted data and outputs data RXD2.
As described above, the punctured coding scheme decreases a symbol rate to a desired one after channel encoding, or maintain the symbol rate, before data transmission. In the conventional punctured coding scheme, however, the receiver of FIG. 2 assumes the punctured data as predetermined fixed data at decoding because it is impossible for the receiver to find out the punctured data. In this case, there is no problem when the assumed data is equal to the original punctured data, but when it is not the punctured data and errors are generated beyond the error correction capability of a channel code, the receiver cannot recover the received data reliably.